package com.etime.shycourse.controller.coupons;


import com.etime.shy.common.BaseMessage;
import com.etime.shy.common.ListMessage;
import com.etime.shy.common.PojoMessage;
import com.etime.shycourse.pojo.Couponrange;
import com.etime.shycourse.services.coupons.interfaces.CouponrangeServices;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author wb
 * @since 2022-03-15
 */
@Api(tags = "后台-优惠券管理-优惠券使用范围")
@RestController
@RequestMapping("/sys/couponrange")
public class CouponrangeController {
    @Autowired
    private CouponrangeServices service;

    //在发布优惠券，功能时使用
    @ApiOperation("查询使用范围")
    @ApiImplicitParam("根据优惠劵id，查询优惠券的使用范围，返回第一个使用范围")
    @GetMapping("/count/{couponId}")
    public PojoMessage selectCouponRangeById(@PathVariable Integer couponId) {
        Couponrange data = service.selectCouponRangeById(couponId);
        PojoMessage msg = new PojoMessage();
        if (data != null) {
            msg.setCode(1);
            msg.setData(data);
            msg.setMsg("已设置优惠券的使用范围");
        } else {
            msg.setCode(0);
            msg.setMsg("您还没有设置优惠券的使用范围，请先设置优惠券的使用范围！");
        }
        return msg;
    }

    @ApiOperation("根据优惠劵id，返回使用使用范围")
    @GetMapping("/list/{couponId}")
    public ListMessage selectCouponRangeListById(@PathVariable Integer couponId) {
        List<Couponrange> data = service.selectCouponRangeListById (couponId);
        ListMessage msg = new ListMessage ();
        if (data != null) {
            msg.setCode (1);
            msg.setDatalist (data);
            msg.setMsg ("已设置优惠券的使用范围");
        } else {
            msg.setCode (0);
            msg.setMsg ("您还没有设置优惠券的使用范围，请先设置优惠券的使用范围！");
        }
        return msg;
    }

    // 创建使用优惠劵范围
    @ApiOperation("返回int 成功 =1 失败=0 创建使用优惠劵范围（课程)")
    @PostMapping("/insert")
    public BaseMessage insertCouponRange(@RequestBody List<Couponrange> couponrange) {
        BaseMessage msg = new BaseMessage();
        int i = service.insertCouponRange(couponrange);
        if (i > 0) {
            msg.setCode(i);
            msg.setMsg("创建优惠劵使用范围成功");
        } else {
            msg.setCode(0);
            msg.setMsg("创建优惠劵使用范围,可能原因：网络延迟！");
        }
        return msg;
    }
}

